#ifndef PHYSICSCOMPONENTSUPDATER_H_
#define PHYSICSCOMPONENTSUPDATER_H_

#include "../GameObject/ComponentsUpdater.h"
#include "ParticleComponent.h"
#include "../Math/Vector3.h"

namespace Pantsu {

	class PhysicsComponentsUpdater : public ComponentsUpdater {

	public:
		PhysicsComponentsUpdater();
		~PhysicsComponentsUpdater();
		
		void UpdateComponents( float i_deltaTime );

	private:
		void UpdateForces( float i_deltaTime );
		void UpdateIntegration( float i_deltaTime );
		void ComputeCollision( const ParticleComponent *obj1, const ParticleComponent *obj2 );
	private:
		Vector3 m_v3GravityForce;
		float   m_fGroundHeightness;
	};
}

#endif